package br.org.etec.dotcao.ws;

import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import br.org.etec.dotcao.model.Event;
import br.org.etec.dotcao.service.ServiceFactory;

@Path("/events")
public class EventResource {
	
	@GET
	@Path("/list")
	@Produces({MediaType.APPLICATION_JSON})
	public List<Event> all(){
		return ServiceFactory.get(Event.class).all();
	}

	@POST
	@Path("/save")
	@Produces({MediaType.APPLICATION_JSON})
	@Consumes({MediaType.APPLICATION_JSON})
	public Message save(Event event){
		if(event == null){
			return new Message("ERRO", "Não foi possível salvar o evento. Dados inválidos.");
		}
		
		try {
			event.save();
			return new Message("SUCESSO", "Evento salvo com sucesso.");
		} catch (Exception e) {
			e.printStackTrace();
			return new Message("ERRO", "Falha ao tentar salvar o evento.");
		}
	}

}
